﻿using Shop.Core.Share;
using Shop.Model.Dto.Admin.JurMunu;
using Shop.Model.View.Admin.JurMunu;
using Shop.Model.View.Admin.JurUser;

namespace Shop.IServices.Admin;

public interface IJurMunuService: IAppService
{
    /// <summary>
    /// 添加菜单
    /// </summary>
    /// <param name="dto"></param>
    /// <returns></returns>
    Task<AppResult> AddMenu(MenuAddDto dto);

    /// <summary>
    /// 查询菜单
    /// </summary>
    /// <returns></returns>
    Task<AppResult<List<MenuListVo>>> GetMenuList();

    /// <summary>
    /// 菜单树
    /// </summary>
    /// <returns></returns>
    Task<AppResult<MenuTreeVo[]>> GetMenuTree();

    /// <summary>
    /// 编辑菜单
    /// </summary>
    /// <param name="dto"></param>
    /// <returns></returns>
    Task<AppResult> Modify(MenuModifyDto dto);

    /// <summary>
    /// 获取文件夹列表
    /// </summary>
    /// <returns></returns>
    Task<AppResult<SimpleTreeVo<long>[]>> GetFileList();

    /// <summary>
    /// 删除
    /// </summary>
    /// <param name="uId"></param>
    /// <returns></returns>
    Task<AppResult> Delete(long uId);
}